import UIKit

//
@available(iOS, introduced: 3.2, deprecated: 9.0, message: "UIPopoverController is deprecated. Popovers are now implemented as UIViewController presentations. Use a modal presentation style of UIModalPresentationPopover and UIPopoverPresentationController.")
extension QKC where AA :UIPopoverController {
     open func delegate_qk_s(_ delegate:  UIPopoverControllerDelegate?) -> QKC<AA,YY,ZZ, UIPopoverControllerDelegate?>{
		return link(next: delegate).then_QK { $0.value.delegate = delegate }
	}
     open func delegate_qk_g() -> QKC<AA,YY,ZZ, UIPopoverControllerDelegate?>{
		 self +^ self.value.delegate
	}

    open func contentViewController_qk_s(_ contentViewController:  UIViewController) -> QKC<AA,YY,ZZ, UIViewController>{
		return link(next: contentViewController).then_QK { $0.value.contentViewController = contentViewController }
	}
    open func contentViewController_qk_g() -> QKC<AA,YY,ZZ, UIViewController>{
		 self +^ self.value.contentViewController
	}

    open func contentSize_qk_s(_ contentSize:  CGSize) -> QKC<AA,YY,ZZ, CGSize>{
		return link(next: contentSize).then_QK { $0.value.contentSize = contentSize }
	}
    open func contentSize_qk_g() -> QKC<AA,YY,ZZ, CGSize>{
		 self +^ self.value.contentSize
	}

    open func isPopoverVisible_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.isPopoverVisible
	}

    open func arrowDirection_qk_g() -> QKC<AA,YY,ZZ, UIPopoverArrowDirection >{
		 self +^ self.value.arrowDirection
	}

    open func passthroughViews_qk_s(_ passthroughViews:  [UIView]?) -> QKC<AA,YY,ZZ, [UIView]?>{
		return link(next: passthroughViews).then_QK { $0.value.passthroughViews = passthroughViews }
	}
    open func passthroughViews_qk_g() -> QKC<AA,YY,ZZ, [UIView]?>{
		 self +^ self.value.passthroughViews
	}

    @available(iOS 7.0, *)
     open func backgroundColor_qk_s(_ backgroundColor:  UIColor?) -> QKC<AA,YY,ZZ, UIColor?>{
		return link(next: backgroundColor).then_QK { $0.value.backgroundColor = backgroundColor }
	}
    @available(iOS 7.0, *)
     open func backgroundColor_qk_g() -> QKC<AA,YY,ZZ, UIColor?>{
		 self +^ self.value.backgroundColor
	}

    @available(iOS 5.0, *)
    open func layoutMargins_qk_s(_ layoutMargins:  UIEdgeInsets) -> QKC<AA,YY,ZZ, UIEdgeInsets>{
		return link(next: layoutMargins).then_QK { $0.value.layoutMargins = layoutMargins }
	}
    @available(iOS 5.0, *)
    open func layoutMargins_qk_g() -> QKC<AA,YY,ZZ, UIEdgeInsets>{
		 self +^ self.value.layoutMargins
	}

    @available(iOS 5.0, *)
    open func backgroundViewClass_qk_s(_ backgroundViewClass:  AnyClass?) -> QKC<AA,YY,ZZ, AnyClass?>{
		return link(next: backgroundViewClass).then_QK { $0.value.backgroundViewClass = backgroundViewClass }
	}
    @available(iOS 5.0, *)
    open func backgroundViewClass_qk_g() -> QKC<AA,YY,ZZ, AnyClass?>{
		 self +^ self.value.backgroundViewClass
	}

    open func setContentView_qk_f(_ viewController: UIViewController, animated: Bool) -> QKC<AA,YY,ZZ, UIViewController>{
		 self +^ self.value.setContentView(viewController, animated:animated) +^ viewController
	}

    open func setContentSize_qk_f(_ size: CGSize, animated: Bool) -> QKC<AA,YY,ZZ, CGSize>{
		 self +^ self.value.setContentSize(size, animated:animated) +^ size
	}

    open func present_qk_f(from rect: CGRect, in view: UIView, permittedArrowDirections arrowDirections: UIPopoverArrowDirection, animated: Bool) -> QKC<AA,YY,ZZ, CGRect>{
		 self +^ self.value.present(from:rect, in:view, permittedArrowDirections:arrowDirections, animated:animated) +^ rect
	}

    open func present_qk_f(from item: UIBarButtonItem, permittedArrowDirections arrowDirections: UIPopoverArrowDirection, animated: Bool) -> QKC<AA,YY,ZZ, UIBarButtonItem>{
		 self +^ self.value.present(from:item, permittedArrowDirections:arrowDirections, animated:animated) +^ item
	}

    open func dismiss_qk_f(animated: Bool) -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.dismiss(animated:animated) +^ animated
	}

}

